﻿using System;
using System.ServiceProcess;
using Smartkernel;
using NUnit.Framework;

namespace Smartkernel.NUnitTest.
{
    [Category("Core")]
    [TestFixture]
    public class SmartWinServiceTest
    {
        [Test]
        public void Test()
        {
            //【01】服务相关测试（涉及方法：AllServicesName属性）
            Assert.AreEqual(SmartWinService.AllServicesName.Count > 0, true);

            //【02】判断某个服务是否存在（涉及方法：Exists）
            string serviceName = "Messenger";
            Assert.AreEqual(SmartWinService.Exists(serviceName), true);

            //【03】更改服务的状态（涉及方法：Start、Stop）
            SmartWinService.Start(serviceName);
            SmartWinService.Stop(serviceName);

            //【04】获得某种状态的服务名称列表（涉及方法：GetServicesName）
            Assert.AreEqual(SmartWinService.GetServicesName(ServiceControllerStatus.Stopped).Count > 0, true);
        }
    }
}
